草庐IT

TypeScript 命名空间

全部标签

javascript - 将 requireJS 模块暴露给全局命名空间的正确方法是什么?

我想将JavascriptAPI作为独立库公开,而不污染其全局命名空间。我已经创建了包装器,所以我不会根据http://requirejs.org/docs/faq-advanced.html污染他们自己的requireJS.我已经简化了目前为止的内容,但我不确定这是否是正确的方法,或者我是否应该以其他方式进行。varMyApi=MyApi||{};varMyApiRequireJS=(function(){//require.jspastedherereturn{requirejs:requirejs,require:require,define:define};})();(func

javascript - 使用来自 Typescript 的 react-meteor-data

问题:我如何在Typescript中使用react-meteor-data?背景:我刚开始一个新项目,想使用Meteor。根据我一直在阅读的内容(link),建议似乎是将React与Meteor一起用于新项目。太好了,无论如何我都想学习React。因为我是一名Java程序员,所以我非常喜欢使用Typescript。但是我在这三项技术上遇到了很多麻烦。具体来说,我如何将React组件连接到meteor容器?我相信我应该使用react-meteor-data但如果我运行typingssearchmeteoraddreact-meteor-data我一无所获。我从这里去哪里?额外学分:我真正

javascript - 有没有什么方法可以在 TypeScript 中定位普通的 JavaScript 对象类型?

2021年更新有关使用较新功能的有效解决方案,请参阅此答案https://stackoverflow.com/a/59647842/1323504我正在尝试编写一个函数,我想在其中指示它返回某种纯JavaScript对象。该对象的签名是未知的,目前并不有趣,只是因为它是一个普通对象。我的意思是满足例如jQuery的isPlainObject的普通对象功能。例如{a:1,b:"b"}是一个普通的对象,但是varobj=newMyClass();不是“普通”对象,因为它的constructor不是Object.jQuery在$.isPlainObject中做了一些更精确的工作,但这超出了问

javascript - Javascript/AngularJS 中的命名空间事件?

我想知道AngularJS是否有命名事件的命名约定?jQuerydefinesitsconvention作为event.namespace(在末尾和点分隔符处有命名空间我看过一些文章(example),其中事件的命名方式如下:namespace::event(在start处有命名空间;和双冒号分隔符)在这个问题上有通用的做法吗?感谢您对此的看法。 最佳答案 我还没有听说过关于Angular的任何具体信息,但您应该考虑到在许多情况下,命名空间通常是一种很好的做法。如果您正在编写一个不会包含其他脚本的简单应用程序,那么命名空间就没有太多

javascript - Typescript "Cannot assign to property, because it is a constant or read-only"即使属性未标记为只读

我有以下代码typeSetupProps={defaults:string;}exportclassSetupextendsReact.Component{constructor(props:any){super(props);this.props.defaults="Whatever";}尝试运行此代码时,TS编译器返回以下错误:Cannotassignto'defaults'becauseitisaconstantoraread-onlyproperty.deafualts是只读属性,但显然没有这样标记。 最佳答案 您正在扩展R

javascript - 使用 javascript 或 jQuery,如何检测未使用的 "whitespace"屏幕空间?

例如,stackoverflow网站以填充我1920x1200屏幕宽度的“空白”为中心。我试图找到javascript或jQuery代码来检测any网站上可用空白的位置,并用图像或div填充或覆盖它。这可能吗? 最佳答案 这很难做到。您很难以一种可以在任何网站上运行的方式可靠地完成它,即使是您无法控制的网站也是如此。您可以做的是遍历整个DOM并找出每个可见元素占据的矩形-但是您如何定义可见?有时您看到的空白是位于其他div之上的具有白色背景的div,有时您看到的是裸体元素,有时它略带灰白色或不同的颜色等。

javascript - Typescript 中的工厂函数使用和不使用 new 关键字声明文件

以下代码将在ES5中创建一个工厂函数:functionMyClass(val){if(!(thisinstanceofMyClass)){returnnewMyClass(val);}this.val=val;}可以使用或不使用new关键字调用此函数:vara=newMyClass(5);varb=MyClass(5);这在Typescript中工作正常,但是我不知道如何使用merging创建声明文件描述了这两种行为。有办法做到这一点吗? 最佳答案 interfaceMyClass{val:{};}interfaceMyClassC

javascript - 如何使用 TypeScript 编译器 (TSC) 解析 Node.js ES6 (ESM) 模块。 TSC 不发出正确的文件扩展名

我正在尝试将我的TypeScript项目转换为JavaScript,但是,似乎有些不对劲。我将项目配置为通过"module":"ES6"解析为ES6模块(又名ESM)设置,但不能解决问题。这就是我的tsconfig.json配置如下:{"compilerOptions":{"module":"es6","target":"es6","lib":["es6"],"sourceMap":true,}}使用一对模块的测试用例:我使用两个模块编写了一个简单的测试用例senario。第一个模块—module1.ts—只导出一个常量,如下所示:>exportconsttestText="Itwor

javascript - typescript 路径映射未在 Node 应用程序中翻译

目前在node.js应用程序中使用typescript。我已经编译了我的应用程序,并且正在使用typescript'spathmappingfeature.'api/*'应该在根文件夹中查找。在开发工作中使用以下内容:nodemon--watchsrc-ets,tsx--exects-node-rtsconfig-paths/register--disableWarnings./src/index.tstsconfig-paths/register允许正确翻译require并且ts-node将正确执行/运行应用程序。现在,当我转向生产时,问题就来了。过去在生产中,我只是在文件夹上运行t

javascript - vue 2、typescript、mocha 和 karma 的代码覆盖率

我们将Vue2与Typescript和webpack3结合使用。Vuex用于状态管理。我们的测试与Karma以及Mocha、Sinon、Expect和Avoriaz一起运行。一切都很好,但我尝试使用Istanbul获得代码覆盖率,以更好地直观表示缺少哪些测试。文件夹结构的小型表示来源组件分享按钮按钮.vue按钮.tsindex.ts...测试单位组件分享按钮按钮.spec.test.tskarma.conf.jskarma.coverage.jsindex.ts...按钮.vuebutton.tsimport{Component,Prop,Vue}from'vue-property-d